/*java jdk 1.7+
# -*- coding: utf-8 -
'''
Created on 2022年6月15日
@author: zxyong 13738196011
'''*/

package com.plugins.usereflect;

import java.sql.SQLException;

import com.zxy.business.Ope_DB_Cent;
import com.zxy.common.Com_Fun;
import com.zxy.common.Db_Common_InterFace;
import com.zxy.common.PooledConnection_InterFace;
import com.zxy.model.T_PROC_NAME;

//接口入参拦截器
public class N01_ins_t_proc_inparam_IN implements com.zxy.common.ParamName_InterFace
{
	public StringBuilder	strResult		= new StringBuilder();
	public String			user_main_id	= null;
	public String			session_id		= null;
	public String			param_name		= "";
	public String			param_value1	= null;
	public String			param_value2	= null;
	public String			param_value3	= null;
	public String			param_value4	= null;
	public String			param_value5	= null;
	public String			param_value6	= null;
	public String			param_value7	= null;
	public String			param_value8	= null;
	public String			param_value9	= null;
	public String			param_value10	= null;
	public String			param_value11	= null;
	public String			param_value12	= null;
	public String			param_value13	= null;
	public String			param_value14	= null;
	public String			param_value15	= null;
	public String			param_value16	= null;
	public String			param_value17	= null;
	public String			param_value18	= null;
	public String			param_value19	= null;
	public String			param_value20	= null;

	public void init_start()
	{
		String[] PROC_IN_PARAM = this.param_value3.split(",");
		Db_Common_InterFace dbc = null;
		PooledConnection_InterFace pi = null;
		java.sql.ResultSet rs = null;
		StringBuilder sqlException = null;
		try
		{
			Ope_DB_Cent odc = new Ope_DB_Cent();
			Object dbcobject = odc.Get_Db_Common(1);
			dbc = (Db_Common_InterFace) (odc.Obj_To_Db_Common(dbcobject));

			for(String temPROC_INPARAM: PROC_IN_PARAM)
			{
				if(!java.util.Objects.equals(temPROC_INPARAM,""))
				{
					String[] Parameters =
					{ this.param_value1,this.param_value2,temPROC_INPARAM, this.param_value4,this.param_value5,this.param_value6,this.param_value7,this.param_value8,this.param_value9};
					String[] ParamTypes =
					{ "INT", "STRING", "STRING","STRING","INT","STRING","DATE","INT","INT"};
					String[] ParamOutName = new String[0];
					String[] ParamOutType = new String[0];
					T_PROC_NAME tpn = new T_PROC_NAME();
					tpn.INF_TYPE = "2";
					tpn.INF_EN_SQL = "insert into t_proc_inparam(PROC_ID,PARAM_CN_NAME,PARAM_EN_NAME,PARAM_TYPE,PARAM_SIZE,S_DESC,CREATE_DATE,IS_URLENCODE,S_SORT) values(?,?,?,?,?,?,?,?,?)";
					// 带参数
					rs = dbc.Common_Sql_Proc(param_name,Parameters,ParamTypes,ParamOutName,ParamOutType,tpn);
					// 执行sql
					sqlException = dbc.getSqlException();
					pi = (PooledConnection_InterFace) dbc.getConn_a();
				}
			}
			if(sqlException.length() > 0){
				this.strResult.delete(0,this.strResult.length());
				this.strResult.append(Com_Fun.get_ope_result(param_name,"0","异常:"+sqlException.toString()));
			}
			else{
				this.strResult.delete(0,this.strResult.length());
				this.strResult.append(Com_Fun.get_ope_result(param_name,"1",""));
			}
		}
		catch(Exception e)
		{
			this.strResult.delete(0,this.strResult.length());
			this.strResult.append(Com_Fun.get_ope_result(param_name,"0","异常:"+e.getMessage()));
			Com_Fun.debug_in(e,this.toString());
		}
		finally
		{
			try
			{
				if(!java.util.Objects.equals(rs,null))
				{
					rs.getStatement().close();
					rs.close();
				}
				if(!java.util.Objects.equals(dbc,null) && !pi.isB_nocursor())
				{
					if(!java.util.Objects.equals(pi,null)
							&& !java.util.Objects.equals(pi.getCalls(),null))
						pi.getCalls().close();
				}else if(!java.util.Objects.equals(dbc,null))
				{
					pi.returnConnection();
				}
			}
			catch(SQLException e)
			{
				Com_Fun.debug_in(e,this.toString(),"db close");
			}
		}
	}

	/**
	 * @return strResult
	 */
	public StringBuilder getStrResult()
	{
		return strResult;
	}

	/**
	 * @param strResult
	 *            要设置的 strResult
	 */
	public void setStrResult(StringBuilder strResult)
	{
		this.strResult = strResult;
	}

	/**
	 * @return user_main_id
	 */
	public String getUser_main_id()
	{
		return user_main_id;
	}

	/**
	 * @param user_main_id
	 *            要设置的 user_main_id
	 */
	public void setUser_main_id(String user_main_id)
	{
		this.user_main_id = user_main_id;
	}

	/**
	 * @return session_id
	 */
	public String getSession_id()
	{
		return session_id;
	}

	/**
	 * @param session_id
	 *            要设置的 session_id
	 */
	public void setSession_id(String session_id)
	{
		this.session_id = session_id;
	}

	/**
	 * @return param_name
	 */
	public String getParam_name()
	{
		return param_name;
	}

	/**
	 * @param param_name
	 *            要设置的 param_name
	 */
	public void setParam_name(String param_name)
	{
		this.param_name = param_name;
	}

	/**
	 * @return param_value1
	 */
	public String getParam_value1()
	{
		return param_value1;
	}

	/**
	 * @param param_value1
	 *            要设置的 param_value1
	 */
	public void setParam_value1(String param_value1)
	{
		this.param_value1 = param_value1;
	}

	/**
	 * @return param_value2
	 */
	public String getParam_value2()
	{
		return param_value2;
	}

	/**
	 * @param param_value2
	 *            要设置的 param_value2
	 */
	public void setParam_value2(String param_value2)
	{
		this.param_value2 = param_value2;
	}

	/**
	 * @return param_value3
	 */
	public String getParam_value3()
	{
		return param_value3;
	}

	/**
	 * @param param_value3
	 *            要设置的 param_value3
	 */
	public void setParam_value3(String param_value3)
	{
		this.param_value3 = param_value3;
	}

	/**
	 * @return param_value4
	 */
	public String getParam_value4()
	{
		return param_value4;
	}

	/**
	 * @param param_value4
	 *            要设置的 param_value4
	 */
	public void setParam_value4(String param_value4)
	{
		this.param_value4 = param_value4;
	}

	/**
	 * @return param_value5
	 */
	public String getParam_value5()
	{
		return param_value5;
	}

	/**
	 * @param param_value5
	 *            要设置的 param_value5
	 */
	public void setParam_value5(String param_value5)
	{
		this.param_value5 = param_value5;
	}

	/**
	 * @return param_value6
	 */
	public String getParam_value6()
	{
		return param_value6;
	}

	/**
	 * @param param_value6
	 *            要设置的 param_value6
	 */
	public void setParam_value6(String param_value6)
	{
		this.param_value6 = param_value6;
	}

	/**
	 * @return param_value7
	 */
	public String getParam_value7()
	{
		return param_value7;
	}

	/**
	 * @param param_value7
	 *            要设置的 param_value7
	 */
	public void setParam_value7(String param_value7)
	{
		this.param_value7 = param_value7;
	}

	/**
	 * @return param_value8
	 */
	public String getParam_value8()
	{
		return param_value8;
	}

	/**
	 * @param param_value8
	 *            要设置的 param_value8
	 */
	public void setParam_value8(String param_value8)
	{
		this.param_value8 = param_value8;
	}

	/**
	 * @return param_value9
	 */
	public String getParam_value9()
	{
		return param_value9;
	}

	/**
	 * @param param_value9
	 *            要设置的 param_value9
	 */
	public void setParam_value9(String param_value9)
	{
		this.param_value9 = param_value9;
	}

	/**
	 * @return param_value10
	 */
	public String getParam_value10()
	{
		return param_value10;
	}

	/**
	 * @param param_value10
	 *            要设置的 param_value10
	 */
	public void setParam_value10(String param_value10)
	{
		this.param_value10 = param_value10;
	}

	/**
	 * @return param_value11
	 */
	public String getParam_value11()
	{
		return param_value11;
	}

	/**
	 * @param param_value11
	 *            要设置的 param_value11
	 */
	public void setParam_value11(String param_value11)
	{
		this.param_value11 = param_value11;
	}

	/**
	 * @return param_value12
	 */
	public String getParam_value12()
	{
		return param_value12;
	}

	/**
	 * @param param_value12
	 *            要设置的 param_value12
	 */
	public void setParam_value12(String param_value12)
	{
		this.param_value12 = param_value12;
	}

	/**
	 * @return param_value13
	 */
	public String getParam_value13()
	{
		return param_value13;
	}

	/**
	 * @param param_value13
	 *            要设置的 param_value13
	 */
	public void setParam_value13(String param_value13)
	{
		this.param_value13 = param_value13;
	}

	/**
	 * @return param_value14
	 */
	public String getParam_value14()
	{
		return param_value14;
	}

	/**
	 * @param param_value14
	 *            要设置的 param_value14
	 */
	public void setParam_value14(String param_value14)
	{
		this.param_value14 = param_value14;
	}

	/**
	 * @return param_value15
	 */
	public String getParam_value15()
	{
		return param_value15;
	}

	/**
	 * @param param_value15
	 *            要设置的 param_value15
	 */
	public void setParam_value15(String param_value15)
	{
		this.param_value15 = param_value15;
	}

	/**
	 * @return param_value16
	 */
	public String getParam_value16()
	{
		return param_value16;
	}

	/**
	 * @param param_value16
	 *            要设置的 param_value16
	 */
	public void setParam_value16(String param_value16)
	{
		this.param_value16 = param_value16;
	}

	/**
	 * @return param_value17
	 */
	public String getParam_value17()
	{
		return param_value17;
	}

	/**
	 * @param param_value17
	 *            要设置的 param_value17
	 */
	public void setParam_value17(String param_value17)
	{
		this.param_value17 = param_value17;
	}

	/**
	 * @return param_value18
	 */
	public String getParam_value18()
	{
		return param_value18;
	}

	/**
	 * @param param_value18
	 *            要设置的 param_value18
	 */
	public void setParam_value18(String param_value18)
	{
		this.param_value18 = param_value18;
	}

	/**
	 * @return param_value19
	 */
	public String getParam_value19()
	{
		return param_value19;
	}

	/**
	 * @param param_value19
	 *            要设置的 param_value19
	 */
	public void setParam_value19(String param_value19)
	{
		this.param_value19 = param_value19;
	}

	/**
	 * @return param_value20
	 */
	public String getParam_value20()
	{
		return param_value20;
	}

	/**
	 * @param param_value20
	 *            要设置的 param_value20
	 */
	public void setParam_value20(String param_value20)
	{
		this.param_value20 = param_value20;
	}
}
